/**
 * @file 坐标控制器
 * @description 处理坐标转换相关的HTTP请求
 * @author GPS轨迹可视化系统
 * @date 2024-02-15
 */

import { Controller, Get, Query } from '@nestjs/common';
import { CoordinateService } from '../services/coordinate.service';

@Controller('coordinate')
export class CoordinateController {
  constructor(private readonly coordinateService: CoordinateService) {}

  /**
   * 坐标转换接口
   * @param lng 经度
   * @param lat 纬度
   * @param from 源坐标系代码
   * @param to 目标坐标系代码
   * @returns 转换后的坐标对象
   */
  @Get('convert')
  async convert(
    @Query('lng') lng: string,
    @Query('lat') lat: string,
    @Query('from') from: string,
    @Query('to') to: string
  ) {
    const longitude = parseFloat(lng);
    const latitude = parseFloat(lat);
    const fromCode = parseInt(from, 10);
    const toCode = parseInt(to, 10);
    const result = await this.coordinateService.convertCoordinates(longitude, latitude, fromCode, toCode);
    return result;
  }
} 